//
// Created by HP on 2025/11/17.
//

#ifndef FLIGHTSERVER_ASK_H
#define FLIGHTSERVER_ASK_H

#include "Model.h"
#include <string>

class AskRequestType {
public:
    static const std::string buyTicket;    // 买票请求
    static const std::string refundTicket; // 退票请求
};

class AskStatus {
public:
    static const std::string pending;   // 待处理
    static const std::string approved;  // 已批准
    static const std::string rejected;  // 已拒绝
    static const std::string cancelled; // 已取消
};

// 处理买票请求和退票请求
class Ask : public Model {
public:
    std::string id;
    std::string userId;       // 用户ID
    std::string ticketId;     // 票ID
    std::string requestType;  // 请求类型：buyTicket/refundTicket
    std::string status;       // 请求状态：pending/approved/rejected/cancelled
    std::string quantity;     // 数量
    std::string price;        // 价格
    std::string reason;       // 退票原因（可选，仅退票时使用）
    std::string createdAt;    // 创建时间
    std::string updatedAt;    // 更新时间

    Ask();

    void bind(const std::string& key, const std::string& value);

    bool save();
};


#endif //FLIGHTSERVER_ASK_H
